
#####################################################################################################################################################
# Description: Makefile - To Compile the project programs development in C/C++
#       Autor: Yandi Naranjo Basalo (PhD. Research)
# Institution: Group RMN (Miquel Pons Laboratory) - IRB Barcelona
# Last Change: 01-02-2013
#####################################################################################################################################################
#  Compiler
#####################################################################################################################################################
CC           = cc
GCC          = g++
MPI          = mpic++
#####################################################################################################################################################
# Compute Clustering
#####################################################################################################################################################
OBJECT1      =  rutines.o computeCluster.o

1: $(OBJECT1)
	$(CC) $(OBJECT1) -o bin/computeCluster -ldl -lm

rutines.o: rutines.c
	$(CC) -c rutines.c

computeCluster.o: computeCluster.c rutines.o -ldl
	$(CC) -c computeCluster.c

#####################################################################################################################################################
# Compute Clustering using multi-process (fork) 
#####################################################################################################################################################
OBJECT2      =  rutines.o clusterHugeDB.o

2: $(OBJECT2)
	$(CC) $(OBJECT2) -o bin/clusterHugeDB 
	
clusterHugeDB.o: clusterHugeDB.c rutines.o -ldl
	$(CC) -c clusterHugeDB.c

#####################################################################################################################################################
# All
#####################################################################################################################################################

all: $(OBJECT1) $(OBJECT2) 
 
	$(CC) $(OBJECT1) -o bin/computeCluster -ldl -lm
	$(CC) $(OBJECT2) -o bin/clusterHugeDB 
	mv *.o obj/.

#####################################################################################################################################################

cleanObj:
	rm *.o

#####################################################################################################################################################

clean:
	rm obj/*.o
	rm bin/computeCluster bin/clusterHugeDB 

#####################################################################################################################################################
# End
#####################################################################################################################################################
